package com.alfredo.android.appcaja;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;

import com.alfredo.android.appcaja.components.DatePickerDialogFragment;
import com.alfredo.android.appcaja.constants.Keys;
import com.alfredo.android.appcaja.model.Orden;

public class FiltroOrdenesActivity extends FragmentActivity 
{
	private Spinner sp_filtros_estado_verificacion;
	private ArrayAdapter<String> spAdapter;
	private EditText et_filtros_cgi;
	private EditText et_filtros_n_expediente;
	private EditText et_filtros_causante_beneficiario;
	private EditText et_filtros_fecha_desde;
	private EditText et_filtros_fecha_hasta;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_filtro_ordenes);
	
		spAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, Orden.estadosVerificacion);
		spAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		sp_filtros_estado_verificacion = (Spinner) findViewById(R.id.sp_filtros_estado_verificacion);
		sp_filtros_estado_verificacion.setAdapter(spAdapter);
		
		et_filtros_cgi = (EditText) findViewById(R.id.et_filtros_cgi);
		et_filtros_n_expediente = (EditText) findViewById(R.id.et_filtros_n_expediente);
		et_filtros_causante_beneficiario = (EditText) findViewById(R.id.et_filtros_causante_beneficiario);
		et_filtros_fecha_desde = (EditText) findViewById(R.id.et_filtros_fecha_desde);
		et_filtros_fecha_hasta = (EditText) findViewById(R.id.et_filtros_fecha_hasta);
		
		et_filtros_fecha_desde.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) 
			{
				showDatePickerDialog((EditText) v);
			}
		});
		
		et_filtros_fecha_hasta.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) 
			{
				showDatePickerDialog((EditText) v);
			}
		});
		
		Button btn_filtro_buscar = (Button) findViewById(R.id.btn_filtros_buscar);
		btn_filtro_buscar.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) 
			{
				buscarOrdenes();
			}
		});
	}
	
	private void showDatePickerDialog(EditText et_fecha)
	{
		DatePickerDialogFragment fragment = new DatePickerDialogFragment(et_fecha);
		fragment.show(getSupportFragmentManager(), "datePickerDialog");
	}
	
	private void buscarOrdenes()
	{
		String estadoVerificacion = spAdapter.getItem(sp_filtros_estado_verificacion.getSelectedItemPosition());
		String cgi = et_filtros_cgi.getText().toString();
		String nExpediente = et_filtros_n_expediente.getText().toString();
		String causanteBeneficiario = et_filtros_causante_beneficiario.getText().toString();
		
		Intent intent = new Intent(this, OrdenesVerificacionActivity.class);
		
		if(estadoVerificacion != null && !estadoVerificacion.isEmpty() && !estadoVerificacion.equalsIgnoreCase("TODOS"))
			intent.putExtra(Keys.ESTADO_VERIFICACION, estadoVerificacion);
		
		if(cgi != null && !cgi.isEmpty())
			intent.putExtra(Keys.CGI, cgi);
		
		if(nExpediente != null && !nExpediente.isEmpty())
			intent.putExtra(Keys.NUMERO_EXPEDIENTE, nExpediente);
		
		if(causanteBeneficiario != null && !causanteBeneficiario.isEmpty())
			intent.putExtra(Keys.CAUSANTE_BENEFICIARIO, causanteBeneficiario);
				
		startActivity(intent);
	}
}
